package analisis.matrizContingencia;

import java.util.List;

/**
 * @file Precision.java
 * @author Juan Humanes Ferrer
 * @date 14-Marzo-2014
 *
 */
public final class Precision implements IMedida {

    private double precision;

    public Precision() {
        setPrecision(0.0);
    }

    /**
     * Método que retorna la precision
     *
     * @return precision
     */
    public double getPrecision() {
        return precision;
    }

    /**
     * Métodod que modifica el valor de precision
     *
     * @param precision
     */
    public void setPrecision(double precision) {
        this.precision = precision;
    }

    /**
     * Método que calcula la precision
     *
     * @param tp
     * @param tn
     * @param fp
     * @param fn
     * @param valoresMedidas
     */
    @Override
    public void calculaMedida(double tp, double tn, double fp, double fn,List<IMedida> valoresMedidas) {
        double result = Double.POSITIVE_INFINITY;

        if (tp != 0.0 && fp != 0.0) {
            result = tp / (tp + fp);
        }

        setPrecision(result);
    }
    
    @Override
    public Double verValor(){
        return getPrecision();
    }
}
